package com.kcsoft.service;

import com.kcsoft.pojo.Assistant;
import com.kcsoft.pojo.Result;
import reactor.core.publisher.Flux;

import java.io.IOException;
import java.util.List;
import java.util.Map;
import java.util.Objects;

public interface ChatService {
    String genSession(String chatName, String assistantId, String type);

    Flux<String> getAnswer(String sessionId, String question, String assistantId);

    void saveSession(String sessionId, String chatName, String assistantId, String type);

    String getHistory(String sessionId) throws IOException, InterruptedException;

    void deleteSession(String sessionId);

    Result<List<Object>> getAssistants();

    String findBySession(String sessionId);

    List<Assistant> list();

}
